const BaseUrl = 'http://localhost:8023';
// GET请求方法
export function getRequest(url, params = {}) {
    try {
        // 将对象转换为查询字符串
        const queryString = new URLSearchParams(params).toString();
        const fullUrl = BaseUrl + url + (queryString ? `?${queryString}` : '');

        // 发送请求并返回数据
        return fetch(fullUrl, {
            method: 'GET',
            headers: {
                'Accept': 'application/json'
            }
        })
            .then(response => {
                if (!response.ok) {
                    return {
                        code: '500',
                        message: `服务器错误(${response.status})：请检查后端服务`,
                        data: null
                    };
                }
                return response.json().catch(() => {
                    return {
                        code: '400',
                        message: '服务器返回格式错误，无法解析数据',
                        data: null
                    };
                });
            })
            .catch(error => {
                return {
                    code: '0',
                    message: error.message || '网络异常，无法连接服务器',
                    data: null
                };
            });
    } catch (error) {
        return {
            code: '400',
            message: '请求参数错误：' + error.message,
            data: null
        };
    }
}

// POST请求方法
export function postRequest(url, data = {}) {

    // 拼接完整URL（POST参数不放在URL中，无需处理查询字符串）
    const fullUrl = BaseUrl + url;
    const headers = {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    };
    // 发送POST请求
    return fetch(fullUrl, {
        method: 'POST', // 请求方法为POST
        headers: headers,
        // POST参数放在请求体中，需转为JSON字符串
        body: JSON.stringify(data)
    })
        .then(response => {
            return response.json().then(resp => {
                // 响应检查逻辑
                return resp;
            });
        })
        .catch(error => {
            // 错误处理逻辑
            console.error('POST请求错误:', error);
            throw error; // 重新抛出，让调用者处理
        });
}